如何从0到1在linux部署thinkphp6项目

您所在的位置:网站首页 tp6 service层 无法引入vendor 如何从0到1在linux部署thinkphp6项目

如何从0到1在linux部署thinkphp6项目

2023-11-12 18:46| 来源: 网络整理| 查看: 265

本文介绍在linux服务器搭建(php7.1+Nginx+mysql)环境,并且通过图形化工具phpmyadmin管理mysql数据库。让我们的thinkphp6项目上述环境正常运作起来。

1、更新yum update yum upgrade

2、安装PHP&PHP-FPM //安装源 rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm  rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm  //安装PHP和PHP-FPM yum install php71w php71w-cli php71w-fpm  //安装相关扩展 yum install php71w-mbstring php71w-common  yum install php71w-gd php71w-mcrypt  yum install php71w-mysql php71w-xml  yum install php71w-soap php71w-xmlrpc //启动PHP-FPM systemctl start php-fpm   //设置开机启动 systemctl enable php-fpm

3、安装Nginx //安装nginx yum install nginx   //启动nginx systemctl start nginx   //使用systemctl设置开机启动 systemctl enable nginx

访问http://122.51.193.95(服务器ip),显示如下图nginx欢迎页面,Nginx设置成功。

images/20211224/7a0a42952d47873eda8fdd1b4b845c93.png

4、安装MySQL //安装MySQL源 yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm //安装MySQL yum install mysql-community-server //启动MySQL systemctl start mysql  //设置开机启动 systemctl enable mysql

查看安装的mysql是否已安装成功

rpm -qa|grep -i mysql

看到如下图,即启动成功

images/20211224/0780f33428645739a6ba77ea9e13ad94.png

5、修改MySQL密码 //找到随机生成的密码 cat /root/.mysql_secret //登录mysql(需要上面的密码) mysql -uroot -p //更改密码,密码要求大写字母、小写字母以及数字和特殊符号 alter user 'root'@'localhost' identified by 'Qw.123456';

6、配置nginx站点(yxiaomo.cn为你的域名) vim /etc/nginx/conf.d/ngnix.conf   //写入以下内容 server {        //端口    listen        80;        //域名    server_name   yxiaomo.cn;        //项目地址    root          /usr/share/nginx/html/XXXX;        index         index.php index.html;        location / {              try_files $uri $uri/ /index.php?$query_string;             }       // nginx支持PHP配置     location ~ \.php$ {              fastcgi_pass 127.0.0.1:9000;              fastcgi_index index.php;              include fastcgi.conf;                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;        }   } //重启Nginx systemctl restart nginx //在/usr/share/nginx/html增加phpinfo.php文件写入以下内容 

通过地址http://XXX/phpinfo.php访问看到如下图,即配置成功

images/20211225/fbe3108906390f296b5bce0cd63b3ad0.png

7、安装phpMyAdmin 1、下载phpMyAdmin

首先在phpMyAdmin官方网站 phpMyAdmin - Downloads下载源码包,或者通过脚本之家进行下载:https://www.jb51.net/codes/405261.html  ,下载后上传到服务器解压即可,或者通过Linux命令来下载安装(推荐)

wget https://files.phpmyadmin.net/phpMyAdmin/4.6.0/phpMyAdmin-4.6.0-all-languages.tar.gz

2、解压文件 tar zxvf phpMyAdmin-4.6.0-all-languages.tar.gz

3、将phpMyAdmin-4.6.0-all-languages放到web目录下 mv phpMyAdmin-4.6.0-all-languages /usr/share/nginx/html/

4、重新命名 mv phpMyAdmin-4.6.0-all-languages phpMyAdmin

5、访问地址

尝试通过ip访问,http://本机ip地址/phpMyAdmin/,(也可通过上述nginx站点配置方式配置域名进行访问),即可看到熟悉的页面

images/20211225/94ea6bcd96db7ac59d6ef74ae4959d4f.png

8、部署thinkphp6项目 1、上传项目

上传完整项目后,按照上述nginx站点配置方式,把项目地址配置到/usr/share/nginx/html/XXX/public,即可通过配置的地址访问项目

server {           ...        //项目地址        root          /usr/share/nginx/html/XXXX/public;            ...   } 2、配置伪静态

访问项目后,发现无论地址如何变化只显示首页,这是nginx不支持PATHINFO导致的,官方文档找到相应解决方法

images/20211225/1dac70052fbd0985a77ffdb72945cbfd.png

server {         ...         location / {              ...              if (!-e $request_filename) {                   rewrite  ^(.*)$  /index.php?s=/$1  last;              }         }   }

注意:每次修改完nginx配置后都要systemctl restart nginx,重启nginx服务方可生效

3、多应用入口识别成模块处理方法

我想大部分开发者都会用到多应用模式,毕竟前台访问模块后还有后台管理模块等。

如下图,小莫新增了一个admin.php的入口文件,window正常,部署到ngnix后admin.php就被识别为admin\php

images/20211225/52cdecb5d30ba8bca187d1d2b0947f5a.png

这是我们上述伪静态配置,把地址所有参数均配置到/index.php?s=/$1导致的,因此我们只需要在Nginx配置上配置admin.php的伪静态即可解决此问题。

location / {          ...    if (!-e $request_filename) {              //这是配置伪静态,admin.php指向我们新增的admin.php入口文件          rewrite  ^/admin.php/(.*)$  /admin.php?s=/$1  last;                rewrite  ^(.*)$  /index.php?s=/$1  last;          }        ... }

文章来源:如何从0到1在linux部署thinkphp6项目 | 猿小莫的博客



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3